home *** CD-ROM | disk | FTP | other *** search
/ Object Oriented Applicat…isualAge for C++ for OS/2 / Object-Oriented Application Development with VisualAGE for C++ for OS2.iso / makedb.cmd < prev    next >
OS/2 REXX Batch file  |  1996-03-06  |  5KB  |  150 lines

  1. /* REXX */
  2. /*
  3.  COPYRIGHT: Copyright (C) International Business Machines Corp., 1995.
  4.  
  5.  DISCLAIMER OF WARRANTIES:
  6.    The following [enclosed] code is sample code created by IBM
  7.    Corporation.  This sample code is not part of any standard IBM product
  8.    and is provided to you solely for the purpose of assisting you in the
  9.    development of your applications.  The code is provided "AS IS",
  10.    without warranty of any kind.  IBM shall not be liable for any damages
  11.    arising out of your use of the sample code, even if they have been
  12.    advised of the possibility of such damages.
  13. */
  14.  
  15. /* Get the path of the VisualAge C++ installation */
  16. env='OS2ENVIRONMENT';
  17. BasePath = VALUE('CPPMAIN',,env);
  18. VideoPath = VALUE('VR_VIDEO',,env);
  19. if BasePath="" then do
  20.    say "Error: VISUAL environment variable not set."
  21.    call Finished
  22. end
  23.  
  24. call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  25. call SysLoadFuncs
  26.  
  27. say "Creating the database REAL"
  28. say "Enter the target drive letter: "
  29. pull drive
  30. if ( DATATYPE(drive,M) = 1 & LENGTH(drive) = 1 ) then do
  31.   say "WARNING: The database REAL will be deleted if it exists,"
  32.   say "and all data in that database will be lost.  REAL will be"
  33.   say "(re)created  on drive" drive", okay(y|n)?"
  34.   pull okay
  35.   if okay = "Y" then do
  36.  
  37.     if ( SysSearchPath( 'PATH', 'db2.exe' ) \= '' ) then do
  38.       db2start
  39.       DBM = 'db2.exe'
  40.     end
  41.     else if ( SysSearchPath( 'PATH', 'dbm.cmd' ) \= '' ) then do
  42.       startdbm
  43.       DBM = 'call dbm'
  44.     end
  45.     else do
  46.       say "DB2 is not installed."
  47.       call Finished
  48.     end
  49.  
  50.     say "Dropping REAL... Any failure of this step may be ignored."
  51.     DBM "drop database REAL"
  52.     say "Any failures after this point must be investigated - consult the DB2/2 Messages Guide, resolve and retry."
  53.     say "Creating REAL..."
  54.     DBM "create database REAL on" drive
  55.     DBM "connect to REAL"
  56.     file = 'LIST.TAB'
  57.  
  58.     stat = STREAM(file,'C','open read')                        /* open file*/
  59.     stmt = ''                                            /* build statement*/
  60.     complete = 0
  61.     do while lines(file)>0
  62.        line = linein(file)
  63.        line = strip(line,'T')
  64.        if left(line,2)='--' then iterate                 /* ignore comments*/
  65.        if left(line,2)='/*' then iterate                 /* ignore comments*/
  66.        lg = length(line)
  67.        if lg>0 then                                          /* check for ;*/
  68.           if substr(line,lg,1) = ';' then do
  69.              complete = 1
  70.              line = left(line,lg-1)
  71.           end
  72.        if stmt='' then stmt = left(line,72)' '
  73.                   else stmt = stmt''left(line,72)' '
  74.        if complete then do                          /* submit complete stmt*/
  75.           stmt = strip(stmt,'T')
  76.           stmt = space(stmt)                         /* remove extra blanks*/
  77.           DBM stmt
  78.           ok = RC
  79.  
  80.           if ok \= 0 then do
  81.              call finished                                      /* the loop*/
  82.           end
  83.           stmt = ''
  84.           complete = 0
  85.        end
  86.    end
  87.    if lines(file) > 0 then runretcode = 8
  88.  
  89.    stat = STREAM(file,'C','close')                            /* close file*/
  90.  
  91.    if (VideoPath <> "")
  92.    Then
  93.       Do
  94.         DBM "UPDATE MULTIDOC SET FILENAME='"VideoPath"\HOME.AVI'     WHERE MULTIDOC_ID='11111'"
  95.         DBM "UPDATE MULTIDOC SET FILENAME='"VideoPath"\MAUI.AVI'     WHERE MULTIDOC_ID='22222'"
  96.         DBM "UPDATE MULTIDOC SET FILENAME='"VideoPath"\FOUNTHP.AVI'  WHERE MULTIDOC_ID='33333'"
  97.         DBM "UPDATE MULTIDOC SET FILENAME='"VideoPath"\GALLERY.AVI'  WHERE MULTIDOC_ID='44444'"
  98.         DBM "UPDATE MULTIDOC SET FILENAME='"VideoPath"\HOUSWALK.AVI' WHERE MULTIDOC_ID='55555'"
  99.         DBM "UPDATE MULTIDOC SET FILENAME='"VideoPath"\BIGHOUSE.AVI' WHERE MULTIDOC_ID='66666'"
  100.       End
  101.  
  102.     DBM "commit"
  103.     DBM "connect reset"
  104.  
  105.     BindPath = VALUE('VR_BIND',,env);
  106.     if (BindPath <> "")
  107.     Then
  108.        Do
  109.          say "Binding bnd files to the database REAL..."
  110.          sqlbind BindPath"\BuyAddv.bnd REAL"
  111.          sqlbind BindPath"\BuyAddv.bnd REAL"
  112.          sqlbind BindPath"\Buyerv.bnd REAL"
  113.          sqlbind BindPath"\BuyInfv.bnd REAL"
  114.          sqlbind BindPath"\BuyLogv.bnd REAL"
  115.          sqlbind BindPath"\ListArev.bnd REAL"
  116.          sqlbind BindPath"\MarkInfv.bnd REAL"
  117.          sqlbind BindPath"\Multidov.bnd REAL"
  118.          sqlbind BindPath"\Preferev.bnd REAL"
  119.          sqlbind BindPath"\PropAddv.bnd REAL"
  120.          sqlbind BindPath"\PropALov.bnd REAL"
  121.          sqlbind BindPath"\Propertv.bnd REAL"
  122.          sqlbind BindPath"\PropLogv.bnd REAL"
  123.          sqlbind BindPath"\SaleTrav.bnd REAL"
  124.          say "Binding daxscl.bnd to the database REAL..."
  125.          sqlbind BasePath"\bnd\daxscl.bnd REAL"
  126.        End
  127.       Else
  128.          say "Bind files not installed on your machine. Install the full application"
  129.       say "REAL Creation complete."
  130.   end
  131.   else
  132.     say "REAL creation cancelled."
  133. end
  134. else do
  135.   say "Invalid drive letter " drive
  136.   say "REAL was not created."
  137. end
  138. call Finished
  139.  
  140. Aborted:
  141.   say "Error creating database." rc
  142.   say "Consult the DB2/2 Messages Guide for more information."
  143.   call Finished
  144.  
  145.  
  146. Finished:
  147. say "Press enter to exit."
  148. pull done
  149. exit
  150.